import axios from 'axios'
import router from '../router/index.js'

const service = axios.create({
	baseURL:'http://api.shop.vue-os.com/api/',// 基础url路径
	timeout:10000,// 接口请求超时
})

// 请求拦截器
service.interceptors.request.use(
	config => {
		const token = localStorage.getItem('token')
		// 当token存在的时候自动往请求头中添加用户令牌字段
		if(token){
			config.headers['Authorization'] = "Bearer " + token
		}
		return config
	},
	error=>{
		console.log("请求拦截器出错",error)
		return Promise.reject(error)
	}
)

// 响应拦截器
service.interceptors.response.use(
	response =>{
		console.log("接口返回数据",response)
		return response.data.data
	},
	error =>{
		console.log("接口请求出错",error)
		if(error.response.status === 401){
			// 退出登录处理和跳转到登录页面
			// 移除token
			localStorage.removeItem('token')
			// 跳转回登录
			router.push('/login')
		}else{
			return Promise.reject(error)
		}
	}
)
export default service